#ifndef CONTROLCENTER_H
#define CONTROLCENTER_H

#include <QObject>
#include "icomponent.h"

class ControlCenter : public QObject
{
    Q_OBJECT
public:
    static ControlCenter *instance();
    ~ControlCenter();

    void addComponent(ComponentPtr);
    void removeComponent(ComponentPtr);
    void clearComponent();

    void restart();
    void start();
    void stop();

private:
    QList<ComponentPtr> m_components;
    explicit ControlCenter(QObject *parent = Q_NULLPTR);
    Q_DISABLE_COPY(ControlCenter)
};


#endif // CONTROLCENTER_H
